package com.hospital.hospitalserver.entity;

import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 收费主表
 * */
@Data
public class PaymentMainDTO {
    private Integer payment_id; //收费主键ID
    private String payment_no; //收费单号-系统生成
    private Integer visit_id; //挂号就诊记录ID
    private String patient_name; //患者姓名
    private String id_number; //身份证号
    private String payment_type; //收费类型: registration挂号, outpatient门诊, medicine药品, examination检查, treatment治疗, inpatient住院
    private String source_type; //来源类型: registration挂号, prescription处方, examination检查单, treatment治疗单, admission入院
    private Integer source_id; //来源ID
    private Integer department_id; //收费科室ID
    private String department_name; //收费科室名称
    private BigDecimal payable_amount; //应收金额
    private BigDecimal discount_amount; //优惠金额
    private BigDecimal actual_amount; //实收金额
    private BigDecimal paid_amount; //已收金额
    private String payment_method; //支付方式: cash现金, card银行卡, wechat微信, alipay支付宝, insurance医保
    private String insurance_card_number; //医保卡号
    private String reimbursement_rate; // 医保支付比例
    private BigDecimal insurance_payment; //医保支付金额
    private BigDecimal personal_payment; //个人支付金额
    private String payment_status; //收费状态: pending待收费, completed已收费, refunded已退款, partial_refund部分退款
    private LocalDateTime payment_time; //收费时间 -- 缴费成功后设置，并修改上面状态
    //操作人员相关
    private Integer operator_id; //操作员ID
    private String operator_name; //操作员姓名
    private String window_number; //收费窗口号
    private String notes; //备注
    private LocalDateTime create_time; //挂号创建的时候生成
    private LocalDateTime update_time; //
}
